<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Model_Actividad extends CI_Model {

	function __construct() {
		parent::__construct();
    }

    function all($arg = null) {
        $this->db->select('actividad.* , tipo_actividad.name as tipo_actividad_name');
        $this->db->from('actividad');
        $this->db->join('tipo_actividad', 'actividad.tipo_actividad_id = tipo_actividad.id', 'left');
		
        if (isset($arg)){
        	$this->db->where($arg);
        }        

        $query = $this->db->get();
        return $query->result();
    }

    function allFiltered($field, $value, $arg = null) {
        $this->db->select('actividad.* , tipo_actividad.name as tipo_actividad_name');
        $this->db->from('actividad');
        $this->db->join('tipo_actividad', 'actividad.tipo_actividad_id = tipo_actividad.id', 'left');
        $this->db->like($field, $value);

        if (isset($arg)){
        	$this->db->where($arg);
        }
                
        $query = $this->db->get();
        return $query->result();
    } 

    function find($id) {
    	$this->db->where('id', $id);
		return $this->db->get('actividad')->row();
    }

    function insert($registro) {
    	$this->db->set($registro);
		$this->db->insert('actividad');
    }

    function update($registro) {
    	$this->db->set($registro);
		$this->db->where('id', $registro['id']);
		$this->db->update('actividad');
    }

    function delete($id) {
    	$this->db->where('id', $id);
		$this->db->delete('actividad');
    }

    function get_tipo_actividades($arg = null) {
        $lista = array();
        $this->load->model('Model_Tipo_Actividad');

        if (isset($arg)){
        	$this->db->where($arg);
        }
        
        $registros = $this->Model_Tipo_Actividad->all($arg);
        foreach ($registros as $registro) {
            $lista[$registro->id] = $registro->name;
        }
        return $lista;
    }

    function count($arg = null) {
    	if (isset($arg)){
    		$this->db->where($arg);
    	}
    	$query = $this->db->count_all('actividad');
    	return $query;
    }
    
    function getPagedList($limit, $offset = 0,$arg = null) {
        $this->db->select('actividad.* , tipo_actividad.name as tipo_actividad_name');
        $this->db->from('actividad');
        $this->db->join('tipo_actividad', 'actividad.tipo_actividad_id = tipo_actividad.id', 'left');
    
    	if (isset($arg)){
    		$this->db->where($arg);
    	}
    	$this->db->order_by('fecha','desc');
    	$query = $this->db->get('',$limit, $offset);
    	return $query->result();
    }    
}
